/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package za.ac.cput.mphokazi.designpatterns.factory;

import za.ac.cput.assigment.factoryMethod.AnimalFactory;
import za.ac.cput.mphokazi.designpatterns.part1.creational.AbstractFactoryMethod.AbstractFactory;
import za.ac.cput.mphokazi.designpatterns.part1.creational.prototype.Dog;
import za.ac.cput.mphokazi.designpatterns.part1.creational.prototype.Person;
import za.ac.cput.mphokazi.designpatterns.part1.creational.prototype.Prototype;
import za.ac.cput.mphokazi.designpatterns.part1.structural.adapterPattern.TemperatureClassReporter;
import za.ac.cput.mphokazi.designpatterns.part1.structural.adapterPattern.TemperatureInfo;
import za.ac.cput.mphokazi.designpatterns.part1.structural.adapterPattern.TemperetureObjectReporter;
import za.ac.cput.mphokazi.designpatterns.part1.structural.facade.Facade;

/**
 *
 * @author mphokazi
 */
public class AppFactory{

    public static Prototype Person(String fred){
       return new  Person(fred);
    }

    public static Prototype Dog(String woof) {
        return new Dog(woof);
    }

    public static AnimalFactory AnimalFactory() {
        return new AnimalFactory();
    }

    public static AbstractFactory AbstractFactory() {
        return new AbstractFactory();
    }

    public static TemperatureInfo getTepreRep() {
        return new  TemperatureClassReporter();
    }

    public static TemperatureInfo getTempObjectRepoty() {
        return new TemperetureObjectReporter();
    }

   // public static Composite getComposite() {
      //  return new Composite() };

    public static Facade getFacade() {
        return new Facade();
    }
    }
   
    
